package com.doubao.user.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 会员订阅请求 DTO
 */
@Data
@Schema(description = "会员订阅请求参数")
public class SubscriptionRequestDTO {

    @NotNull(message = "会员等级ID不能为空")
    @Schema(description = "会员等级ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private Integer levelId;

    @NotBlank(message = "订阅类型不能为空")
    @Schema(description = "订阅类型 (如 MONTHLY, YEARLY)", requiredMode = Schema.RequiredMode.REQUIRED, example = "MONTHLY")
    private String subscriptionType;

    @Schema(description = "客户端IP地址", example = "127.0.0.1")
    private String clientIp; // clientIp 可以是可选的，如果后端能自动获取
} 